The invention relates to an integrated circuit having a self-test device for carrying out a self-test of the integrated circuit.
Such an integrated circuit is described, for example, in U.S. Pat. No. 5,173,906. The self-test device (built-in self-test) subjects certain circuit components of the integrated circuit to a test and after that test has been completed a result signal is transmitted outside the integrated circuit.
Self-test devices can be implemented either as wired logic or through the use of a controller or processor which processes an appropriate test program. In the latter case it is possible to feed various test programs into the self-test device in succession from the outside. The test programs each permit different tests to be executed. That procedure may be problematic, in particular if a large number of integrated circuits are to be subjected to a self-test simultaneously. Even with integrated circuits of the same type, different program running times for the test programs which are to be carried out in succession may in fact occur depending on the way in which the test runs. If the individual test programs are supplied by a central external control unit and the loading of the respective successive test programs into the individual integrated circuits is intended to be carried out simultaneously in each case by the control unit, it is necessary to initially wait for the preceding test program in all of the relevant integrated circuits to be completed. That means that the execution of the next respective test program cannot be started until all of the integrated circuits have previously completed the preceding test program. That procedure, which is respectively tailored to the longest possible program execution time, leads to a long period of time being required for the execution of all of the test programs.
It is accordingly an object of the invention to provide an integrated circuit having a self-test device for carrying out a self-test of the integrated circuit, which overcomes the hereinafore-mentioned disadvantages of the heretofore-known devices of this general type and in which it is possible for the self-test to be performed on a large number of such circuits in less time.
With the foregoing and other objects in view there is provided, in accordance with the invention, an integrated circuit, comprising a self-test device for carrying out a self-test of the integrated circuit. The self-test device has a control output. A program memory is connected to the self-test device for storing at least one test program supplied from outside the integrated circuit and executed while the self-test device carries out a self-test. The self-test device uses the control output to control loading of a respective test program to be executed, from outside the integrated circuit into the program memory.
Therefore, in the invention, the loading of the test program into the program memory of the integrated circuit does not take place under the control of an external control unit but rather automatically through the use of the self-test device located on the chip. This has the advantage that there is no need for an external control unit to control the supplying of the test programs. All that is necessary is one external program memory from which the self-test device can call the respectively required test program through its control output.
The execution of a plurality of test programs which are to be successively executed and loaded into the program memory in succession is carried out in the integrated circuit according to the invention in a time-optimized manner. That is because the control is carried out by the self-test device which actually carries out the self-test.
The integrated circuit may be any desired integrated circuit such as, for example, a memory circuit or a logic circuit. The self-tests do not differ in this case in type from known self-tests. The invention differs from them in terms of the control of the loading of the test programs into the program memory of the integrated circuit.
In accordance with another feature of the invention, the self-test device executes a plurality of test programs in succession and, after completion of the preceding test program, automatically loads the respectively next test program into the program memory from outside the integrated circuit, by control through its control output.
This has the advantage of causing the self-test device to supply the test programs to the program memory according to requirements, specifically directly after completion of the previously executed test program. As a result there is no time loss between the execution of the different test programs, irrespective of how long the self-test device is required to carry out the respective test. This time period is dependent on the way in which the respective test runs, so that the integrated circuit according to the invention can react flexibly to different program running times and no delay times are produced between the execution of successive test programs.
The invention is advantageous in particular if, as described at the outset, a large number of identical integrated circuits carry out a self-test simultaneously. Since each integrated circuit automatically controls the supplying of the next respective test program, the integrated circuits are independent of one another in terms of the starting of the processing of the respectively following test program. Even if all of the integrated circuits process the same test programs in succession, it is possible, as already mentioned, for different program running times to occur in the different circuits. This is due to the way in which the test runs and is dependent, for example, on whether or not an error is detected at an early point during the processing of a test program. In the aforesaid case, a test program can possibly be completed early. In the case of a large number of test programs which are to be carried out in succession, under certain circumstances on each occasion it will be a different circuit of the integrated circuits which are to be tested simultaneously that will require the most time to execute the respective program. This results in an overall harmonization of the test duration as a whole for all of the integrated circuits which are to be tested simultaneously. Thus, the invention is capable of minimizing the overall test duration for all of the integrated circuits.
In accordance with a concomitant feature of the invention, the self-test device has a result signal output through which a common result signal for tests having been carried out in accordance with the executed test programs is supplied outside the integrated circuit after execution of a plurality of test programs having been loaded in succession into the program memory from outside the integrated circuit.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in an integrated circuit having a self-test device for carrying out a self-test of the integrated circuit, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.